package com.sc.nft.entity.dto;

import com.sc.nft.enums.SaasTaskConfigurationEnum;
import com.sc.nft.exception.GlobalRunTimeException;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
@Data
public class SaasTaskAuditDTO {
    /**
     * 任务id
     */
    @ApiModelProperty(value = "任务id")
    @NotNull(message = "任务id不能为空")
    private Long id;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "配置状态 1:未配置奖励  2:未提交审核 3:审核中 4:撤销审核 5: 审核未通过 6: 审核通过,在审核的时候,只允许添加审核通过和审核未通过")
    @NotNull(message = "审核状态不能为空")
    private SaasTaskConfigurationEnum taskConfiguration;

    /**
     * 审核备注(不通过时填写)
     */
    @ApiModelProperty("任务备注")
    private String taskRemark;


    public void validator() {
        if (this.taskConfiguration!=SaasTaskConfigurationEnum.REVIEW_FAILED&&this.taskConfiguration!=SaasTaskConfigurationEnum.APPROVED) {
            throw new GlobalRunTimeException("状态异常,禁止操作");
        }
    }
}
